//导入vue
import Vue from 'vue'
import router from "../router";
import store from "../store";
//2.导入axios
import axios from "axios";
//将axios挂载到vue的原型上
Vue.prototype.$axios = axios;
//设置基地址
axios.defaults.baseURL = "http://big-event-vue-api-t.itheima.net";

// 添加请求拦截器
axios.interceptors.request.use(
  function (config) {
    // 在发送请求之前做些什么
    //只有/my的请求才在请求头中加token,冰球没有token认证或者token失效的时候
    if (config.url.startsWith("/my") && store.state.token) {
      //添加请求头带token认证
      config.headers.Authorization = store.state.token;
     
    }
    return config;
  },
  function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
  }
);

// 添加响应拦截器
axios.interceptors.response.use(
  function (response) {
    // 对响应数据做点什么
    return response;
  },
  function (error) {
    // 对响应错误做点什么 
    //token失效或者没有
    if (error.response.status === 401) { 
      //跳转到登录页
      alert('请先登录')
      router.push('/login')
    }
    return Promise.reject(error);
  }
);